1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17 package com.google.common.collect.testing.testers;
18
19 import static com.google.common.collect.testing.features.CollectionFeature.ALLOWS_NULL_VALUES;
20 import static com.google.common.collect.testing.features.CollectionFeature.SUPPORTS_ADD;
21 import static com.google.common.collect.testing.features.CollectionSize.ZERO;
22
23 import com.google.common.annotations.GwtCompatible;
24 import com.google.common.collect.testing.Helpers;
25 import com.google.common.collect.testing.features.CollectionFeature;
26 import com.google.common.collect.testing.features.CollectionSize;
27
28 import java.util.List;
29
30
31
32
33
34
35
36
37 @SuppressWarnings("unchecked")
38 @GwtCompatible(emulated = true)
39 public class ListAddTester<E> extends AbstractListTester<E> {
40 @CollectionFeature.Require(SUPPORTS_ADD)
41 @CollectionSize.Require(absent = ZERO)
42 public void testAdd_supportedPresent() {
43 assertTrue("add(present) should return true", getList().add(samples.e0));
44 expectAdded(samples.e0);
45 }
46
47 @CollectionFeature.Require(absent = SUPPORTS_ADD)
48 @CollectionSize.Require(absent = ZERO)
49
50
51
52
53 public void testAdd_unsupportedPresent() {
54 try {
55 getList().add(samples.e0);
56 fail("add(present) should throw");
57 } catch (UnsupportedOperationException expected) {
58 }
59 }
60
61 @CollectionFeature.Require(value = {SUPPORTS_ADD, ALLOWS_NULL_VALUES})
62 @CollectionSize.Require(absent = ZERO)
63 public void testAdd_supportedNullPresent() {
64 E[] array = createArrayWithNullElement();
65 collection = getSubjectGenerator().create(array);
66 assertTrue("add(nullPresent) should return true", getList().add(null));
67
68 List<E> expected = Helpers.copyToList(array);
69 expected.add(null);
70 expectContents(expected);
71 }
72 }
73